#include "stdio.h"
#include "stdlib.h"

void swap(int *, int *);
void inputArray(int [], int);
void outputArray(int [], int);
int bubbleSort(int [], int);

int main()
{
    int a[5];
    int counter;

    inputArray(a, 5);

    counter = bubbleSort(a, 5);

    outputArray(a, 5);

    printf("total loops: %d\n", counter);

    return 0;
}

void swap(int *i, int *j)
{
    int temp;

    temp = *i;
    *i = *j;
    *j = temp;
}

void inputArray(int a[], int n)
{
    int i;

    for (i = 0; i < n; i ++)
    {
        scanf("%d", &a[i]);
    }
}

void outputArray(int a[], int n)
{
    int i;

    for (i = 0; i < n - 1; i ++)
    {
        printf("%d ", a[i]);
    }
    printf("%d\n", a[i]);
}

// in ascending
// how to make it in descending?
//
int bubbleSort(int a[], int n)
{
    int i = 0, j = 0;
    int counter = 0;

    for (i = 0; i < n - 1; i ++)
    {
        for (j = 0; j < n - 1; j ++)
        {
            if (a[j] < a [j+1])
            {
                swap(&a[j], &a[j+1]);
            }
            counter ++;
        }
    }
    return counter;
}

